home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-19 | 6.6 KB | 203 lines | [TEXT/MPS ] |
- { File: LibraryManager.p
-
- Contains: Minimal declarations you need to use the SLM.
-
- Copyright: © 1991-1994 by Apple Computer, Inc., all rights reserved.
-
-
- }
-
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT LibraryManager;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingLibraryManager}
- {$SETC UsingLibraryManager := 1}
-
- {$I+}
- {$SETC LibraryManagerIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I Types.p}
- {$ENDC}
- {$SETC UsingIncludes := LibraryManagerIncludes}
-
- {******************************************************************************
- ** System-wide Defines
- *******************************************************************************}
-
- {$IFC UNDEFINED qDebug}
- {$SETC qDebug := 1}
- {$ENDC}
- {$IFC UNDEFINED MAC68K}
- {$SETC MAC68K := 1}
- {$ENDC}
-
- {******************************************************************************
- ** Error Constants
- *******************************************************************************}
-
- CONST
- kNoError = 0;
-
- kASLMNotFoundErr = -3120; { class wasn't found }
- kNoParent = -3121; { class doesn't have a shared parent }
- kParentNotFound = -3122; { shared parent of class could not be found }
- kNotRelated = -3123; { the classes are not related }
- kASLMInvalidObjectErr = -3124; { not a valid object }
-
- kASLMPoolCorruptedErr = -3125;
- kASLMOutOfMemoryErr = -3126;
-
- kASLMCodeNotLoadedErr = -3127;
- kASLMCouldNotLoadCodeErr = -3128;
-
- kASLMFilePreflightedErr = -3129; { can't close library file because it is preflighted }
- kASLMFileNotPreflightedErr = -3130; { failed because library file is not preflighted }
- kASLMFileNotFoundErr = -3131;
-
- kASLMLibraryManagerNotLoadedErr = -3132;
-
- kASLMDuplicateFoundErr = -3134; { duplicate found is collection }
-
- kASLMSeedChangedErr = -3135;
- kASLMUnconstructedObjectErr = -3136;
- kASLMInternalErrorErr = -3137;
- kASLMVersionErrorErr = -3138;
-
- kASLMFolderNotFoundErr = -3139; { for RegisterLibraryFileFolder/UnregisterLibraryFileFolder }
- kASLMFolderInUseErr = -3140; { for UnregisterLibraryFileFolder }
-
- kASLMResourceNotFoundErr = -3141;
-
- kASLMNotAllowedNowErr = -3155; { matches XTI TOUTSTATE }
- kASLMNotSupportedErr = -3167; { matches XTI TNOTSUPPORT }
-
- {******************************************************************************
- ** Typedefs
- *******************************************************************************}
-
- TYPE GlobalWorld = Ptr;
- CONST kInvalidWorld = 0;
-
- TYPE Version = INTEGER;
- CONST kAnyVersion = 0;
-
- {******************************************************************************
- ** Forward class declarations
- *******************************************************************************}
-
- TYPE
- TDynamicPtr = Ptr;
- TLibraryManagerPtr = Ptr;
- TClassID = StringPtr;
- TFunctionSetID = StringPtr;
- TLibraryID = StringPtr;
- TFormattedStreamPtr = Ptr;
- TStandardPoolPtr = Ptr;
- TClassInfoPtr = Ptr;
-
- {******************************************************************************
- ** Enums for Memory types
- *******************************************************************************}
-
- TYPE ZoneType =
- (
- kDummyZone, kSystemZone, kKernelZone, kApplicZone,
- kCurrentZone, kTempZone
- );
-
- TYPE MemoryType =
- (
- kDummyMemory, kNormalMemory, kHoldMemory, kLockMemory, kLockMemoryContiguous
- );
-
-
- {******************************************************************************
- ** Some global routines
- **
- ** InitLibraryManager initializes a client to use the ASLM. All clients
- ** must make this call except for ASLM libraries. CleanupLibraryManager
- ** should be called when the client is done using the ASLM.
- **
- ** GetLocalLibraryManager can be called after InitLibraryManager is called. If it
- ** returns NULL then InitLibraryManager failed.
- *******************************************************************************}
-
- { -------------------------------------------------------------------------
- These functions are for use by applications or stand-alone code
- resources only
- ------------------------------------------------------------------------- }
-
- FUNCTION InitLibraryManager(poolsize : LONGINT; zone : ZoneType; memType : MemoryType): OSErr; C;
- PROCEDURE CleanupLibraryManager; C;
-
- { -------------------------------------------------------------------------
- These functions can be used by any Shared Library Manager clients
- ------------------------------------------------------------------------- }
-
- FUNCTION NewObject(classID : TClassID; VAR err : OSErr; pool : TStandardPoolPtr): Ptr; C;
- FUNCTION NewObjectWithParent(classID : TClassID; parentID : TClassID;
- VAR err : OSErr; pool : TStandardPoolPtr): Ptr; C;
- FUNCTION NewObjectFromStream(stream : TFormattedStreamPtr; VAR err : OSErr;
- pool : TStandardPoolPtr): Ptr; C;
-
- FUNCTION GetClassInfo(classID : TClassID): TClassInfoPtr; C;
-
- FUNCTION VerifyClass(classID : TClassID; parentID : TClassID): OSErr; C;
- FUNCTION CastObject(object : Ptr; parentID : TClassID; VAR err : OSErr): Ptr; C;
- FUNCTION CastToMainObject(object : Ptr): Ptr; C;
-
- FUNCTION LoadClass(classID : TClassID; forceAll : Boolean): OSErr; C;
- FUNCTION UnloadClass(classID : TClassID): OSErr; C;
- FUNCTION IsClassLoaded(classID : TClassID): Boolean; C;
-
- FUNCTION LoadFunctionSet(functionSetID : TFunctionSetID; forceAll : Boolean): OSErr; C;
- FUNCTION UnloadFunctionSet(functionSetID : TFunctionSetID): OSErr; C;
- FUNCTION IsFunctionSetLoaded(functionSetID : TFunctionSetID): Boolean; C;
-
- FUNCTION GetFunctionPointer(functionSetID : TFunctionSetID; funcName : StringPtr;
- version : Version; VAR err : OSErr): ProcPtr; C;
- FUNCTION GetIndexedFunctionPointer(functionSetID : TFunctionSetID; idx : INTEGER;
- version : Version; VAR err : OSErr): ProcPtr; C;
-
- FUNCTION LoadLibraries(forceAll : Boolean): OSErr; C;
- FUNCTION UnloadLibraries: OSErr; C;
- PROCEDURE ResetFunctionSet(functionSetID : TFunctionSetID); C;
-
- FUNCTION TraceLogOn: Boolean; C;
- FUNCTION TraceLogOff: Boolean; C;
-
- FUNCTION GetLocalLibraryManager: TLibraryManagerPtr; C;
-
- FUNCTION GetLocalPool: TStandardPoolPtr; C;
- PROCEDURE SetLocalPool(pool : TStandardPoolPtr); C;
- FUNCTION GetClientPool: TStandardPoolPtr; C;
- FUNCTION GetDefaultPool: TStandardPoolPtr; C;
- PROCEDURE SetDefaultPool(pool : TStandardPoolPtr); C;
- FUNCTION GetSystemPool: TStandardPoolPtr; C;
-
-
- {*******************************************************************************
- ** EXCEPTION Handling
- **
- ** Only calling Fail is allowed from Pascal
- ********************************************************************************}
-
- PROCEDURE Fail(err : OSErr; message : StringPtr); C;
-
-
- {$ENDC} { UsingLibraryManager }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-